package ecom.ejb;


import ecom.ejb.CartLocal.StatutCart;
import ecom.entity.AccountRemote;
import ecom.entity.CommandeRemote;
import ecom.entity.LigneRemote;
import ecom.entity.ProductRemote;
import exceptions.AccountException;
import exceptions.CartException;
import exceptions.IdentifiantInvalide;
import exceptions.InstanceInvalide;
import java.util.Set;
import javax.ejb.Remote;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author François
 */
@Remote
public interface CustomerRemote extends CommonRemote {
    public CartLocal getCart();

    public AccountRemote connectAccount(String identifiant, String motDePasse);
    
    
    public void addProduitCart(ProductRemote produit, int quantite)
	    throws CartException;
    
    public void removeProduitCart(ProductRemote produit, int quantite)
	    throws CartException;
    
    public CommandeRemote buyCart(AccountRemote compte) throws CartException;
    
    
    public void confirmCommande(CommandeRemote commande)
	    throws IdentifiantInvalide, AccountException, InstanceInvalide;
    
    public void cancelCart();
    
    public double getMontantCart();
    
    public Set<LigneRemote> getProduitsCart();

    public StatutCart getStatutCart();
    
}
